
grammar Calculator; //程序名称和.g4名称一致即可
@header {        //一种action,定义生成的词法语法解析文件的头，当使用java的时候，生成的类需要包名，可以在这里统一定义
 package com.taotao.antlr4.calcu;
 }


expr:  lhs = 	expr op=('*'|'/') rhs =  expr  # MulDiv
    | lhs = 	expr op=('+'|'-') rhs =  expr  # AddSub
    |	NUMBER                  # Number
    | 	'(' expr ')'            # parens
    ;

// 词法
WS : [ \t\n\r]+ -> skip ; // ->skip表示antlr4在分析语言的文本时，符合这个规则的词法将被无视
ADD : '+' ;
SUB : '-' ;
MUL : '*' ;
DIV : '/' ;
NUMBER : '-'? [0-9]+('.'([0-9]+)?)? ;        // 数字正则
